The present invention pertains to the field of computer system architecture. More specifically, the present invention pertains to a bus bridge device incorporated into a computer system.
Electronic devices such as lap top computers, calculators, palm tops, and the like are common means of increasing productivity and reducing costs in most professional and personal activities. These devices are made up of a variety of individual components that are required to smoothly and efficiently interact with each other. In addition, the electronic devices themselves are required to smoothly and efficiently interact with each other and with other peripheral devices.
In the prior art, as the state of the art evolves and new protocols are developed, a component or device is designed to operate according to a specific protocolxe2x80x94for example, the newest protocol or the protocol best suited to the component""s intended application. Typically, the component or device can then operate only according to a single protocol. As a consequence, a device or component operating in accordance with one protocol is not able to communicate with another device or component operating in accordance with a different protocol.
The standard protocol commonly used in many devices is the peripheral component interconnect (PCI) protocol. These PCI devices can only communicate with other devices that use the PCI protocol.
Another protocol that is commonly used and growing in popularity is the Advanced Microcontroller Bus architecture (AMBA) Advanced System Bus (ASB) protocol. The ASB protocol is utilized by the Advanced RISC Microprocessor (ARM processor). Many devices use the ARM processor because it is small and energy-efficient, and thus excellent for battery-powered devices such as those mentioned above (e.g., lap tops, palm tops, and the like). These devices also incorporate devices or components that are based on ASB protocol and connected to the ARM processor via an ASB.
Therefore, a problem in the prior art is that PCI devices and ASB devices are not able to communicate with each other because they use different protocols.
A bridge device is one means of enabling communication between devices or components that operate according to different protocols. A bridge device generally functions by translating a transaction (e.g., a command, a request, data transfer, or a similar operation) from a first device into the protocol of the second device, and then translating the response back into the protocol used by the first device.
However, a problem with bridge devices is that they are complex, requiring a number of gates. Bus bridge devices are also difficult to simulate and design.
Thus, a need exists for a device or method that would enable PCI devices and ASB devices to exist in the same system and communicate with each other. A further need exists for a device or method that satisfies the above need, and also permits sufficient flexibility to accommodate multiple standard buses and effective utilization of master and slave devices in the design of the system architecture.
These and other objects and advantages of the present invention will become obvious to those of ordinary skill in the art after having read the following detailed description of the preferred embodiments which are illustrated in the various drawing figures.
The present invention provides a device and method that enable PCI devices and ASB devices to exist in the same system and communicate with each other. The present invention also provides a device and method that permit sufficient flexibility to accommodate multiple standard buses and effective utilization of master and slave devices in the design of the system architecture.
The present invention is a bus bridge device for enabling communication between a first device and a second device, wherein the first device is based on Advanced System Bus (ASB) protocol and the second device is based on peripheral component interconnect (PCI) protocol. The bus bridge device includes an ASB protocol interface coupled to the ASB protocol device, and the ASB protocol interface is adapted to transmit a response to and receive a transaction from the ASB protocol device. The bus bridge device also comprises a PCI protocol interface coupled to the PCI protocol device, and the PCI protocol interface is adapted to transmit a transaction to and receive a response from the PCI protocol device. The ASB protocol interface is coupled to the PCI protocol interface. The ASB protocol interface is adapted to forward the transaction from the ASB protocol device to the PCI protocol interface, which executes that transaction on the PCI bus, and the PCI protocol interface is adapted to forward the response from the PCI protocol device to the ASB protocol interface, which in turn executes that transaction on the ASB bus.
In the present embodiment, the ASB protocol device is an Advanced RISC Microprocessor (ARM processor) coupled to the bus bridge device. The, ARM processor is coupled to the ASB bus. In this embodiment, the PCI protocol device is coupled to the bus bridge device via a PCI protocol bus.
In the present embodiment, the bus bridge device is a uni-directional bridge (e.g., for applications in which PCI devices are slave devices only). The uni-directional embodiment effectively supports a number of computer system architectures utilizing master and slave devices and consisting of multiple standard buses and does not require the use of a complex, bi-directional bridge. Thus, in the present embodiment, the bus bridge device includes fewer components (e.g., gates), is easier to simulate and design, and is therefore less costly. Transactions originate on only one of the buses and are forwarded to the opposite bus. Responses originate on the opposite bus and are forwarded to the originating bus.
The present invention also supports a bi-directional bridge device if one is required (e.g., for applications in which PCI devices are master devices which require access to devices on the ASB bus). In the bi-directional embodiment, the bus bridge device comprises a second ASB protocol interface coupled to the ASB protocol device, and the second ASB protocol interface is adapted to transmit a transaction to the ASB protocol device. In this embodiment, the bus bridge device also comprises a second PCI protocol interface coupled to the PCI protocol device, and the second PCI protocol interface is adapted to receive a transaction from the PCI protocol device. The second ASB protocol interface is coupled to the second PCI protocol interface. The second ASB protocol interface is adapted to translate a forwarded transaction from the second PCI protocol interface to the ASB protocol, and the second PCI protocol interface is adapted to forward a PCI transaction on the PCI bus to the second ASB protocol interface. Thus, in this embodiment, full peer-to-peer communication between ASB and PCI protocol devices and buses is allowed. Thus, in this embodiment, both the PCI protocol bus and the ASB protocol bus may attach master devices as well as slave devices.